﻿namespace NH3.Mapping
{
	using FluentNHibernate.Mapping;
	using NH3.Model;

	public sealed class DeveloperMapping : ClassMap<Developer>
	{
		public DeveloperMapping()
		{
			Table("Sviluppatore");

			Id(d => d.Id);

			Map(d => d.Name)
				.Column("Nome");

			Map(d => d.Surname)
				.Column("Cognome");

			HasMany(d => d.Skills)
				.KeyColumn("SviluppatoreId")
				.Cascade.All();

			HasManyToMany(d => d.Projects)
				.Table("ProgettoSviluppatore")
				.ParentKeyColumn("SviluppatoreId")
				.ChildKeyColumn("ProgettoId");
		}
	}
}
